Text
Tiefes NN kann jede Funktion fitten
-> overfit leicht
-> Generalisierung schwer
Regularisierung reduziert Varianz,
ohne Bias zu erhöhen
-> Modell lernt "einfach" & robust sein
l1_regularization_loss = torch.norm(model.parameters(), 1)
l1_regularization_loss = torch.norm(model.parameters(), 1)
optimizer = torch.optim.Adam(model.parameters(), lr=lr, weight_decay=beta)
l1_regularization_loss = torch.norm(model.parameters(), 1)
optimizer = torch.optim.Adam(model.parameters(), lr=lr, weight_decay=beta)
nn.Dropout(0.2) # 0.2 of neurons set to 0
l1_regularization_loss = torch.norm(model.parameters(), 1)
optimizer = torch.optim.Adam(model.parameters(), lr=lr, weight_decay=beta)
nn.Dropout(0.2) # 0.2 of neurons set to 0
nn.BatchNorm1d()
PyTorch
Dense(N, kernel_regularizer=keras.regularizers.l2(beta), bias_regularizer=keras.regularizers.l2(beta))
tf.keras.layers.Dropout(0.2) # 0.2 of neurons set to 0
tf.keras.layers.BatchNormalization(),
Dense(N, kernel_regularizer=keras.regularizers.l1(beta), bias_regularizer=keras.regularizers.l1(beta))
TensorFlow
Hands-On: MNIST Classifier
Bearbeiten Sie dieses Notebook
Die Lösung finden Sie in diesem Notebook